import java.util.Random;

//1）每个算式还需要答案；（新增）
//2）加法算式的和不能超过100；（隐含）
//3）减法算式的差不能小于0；（隐含）
//4）每行整齐地多显示几个算式。（更改）

public class MathExercises03 {
    public static void main(String[] args) {
        Random random = new Random();
        int exerciseCount = 50; // 习题数量
        int maxNumber = 100; // 最大数值限制
        int perLine = 5; // 每行显示算式数量

        for (int i = 0; i < exerciseCount; i++) {
            int num1 = random.nextInt(maxNumber) + 1; // 生成1到100之间的随机数
            int num2 = random.nextInt(maxNumber) + 1; // 生成1到100之间的随机数
            int operation = random.nextInt(2); // 随机选择加法或减法
            int answer = 0; // 答案

            if (operation == 0) { // 减法
                // 确保第一个数大于等于第二个数，避免出现负数结果
                if (num1 < num2) {
                    int temp = num1;
                    num1 = num2;
                    num2 = temp;
                }
                answer = num1 - num2;

            } else { // 加法
                //确保两数之和不超过100
                num2 = Math.min(num2,maxNumber - num1);
                answer = num1 + num2;
            }

            //打印算式和答案
            System.out.printf("%d %s %d = %d",num1,(operation == 0 ? "-" : "+"),num2,answer);

            //每行显示算式数量
            if ((i+1) % perLine == 0) {
                System.out.println();
            } else {
                System.out.print("  ");
            }
        }
    }
}
